Methods for obtaining a navigation track between a first and a second location based on location information shared between peer devices and related devices and computer program products

ABSTRACT

A first device is operated to obtain a navigation track between a first location and a second location by establishing a peer-to-peer communication connection with a second device and receiving a message that contains information associated with the first location and/or the second location from the second device. The information is associated with a navigation module on the first device. The information associated with the at least one of the first location and the second location is processed using the navigation module to obtain the navigation track between the first location and the second location.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.11/709,959; Filed Feb. 23, 2007 now U.S Pat. No. 7,865,297 the entiretyof which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates generally to communication networks anddevices that operate thereon and, more particularly, to sharing locationinformation between devices on a communication network.

When people communicate today through, for example, email, InstantMessaging (IM) programs, Short Message Service (SMS) messages, etc., themessages are often limited to simple text information and/or attachmentscontaining text, graphic files, audio files, video files, and the like.When people plan to meet at a specific place, individuals typically tryto describe the location or, if known, provide a street address or othertype of identifying information, which the recipient may then provide asinput to a mapping application, such as, for example, mappingapplications provided Yahoo, Google, and Mapquest. Similarly, if acomputer user is reviewing a Website of a business and decides he/shewants to visit the business, the user may obtain the address of thebusiness from the Website and provide that address to a mappingapplication as described above. Alternatively, the business Website mayprovide a link to a map that contains directions to the businesslocation when approaching from various locations. Thus, for a user toobtain more detailed information about a location, such as, for example,directions from a current location or reference information related tothe location, the user may need to make use of a public mappingapplication or seek out the detailed information on a Website or otherlocation information source. Services, such as evite.com, may allowemail invitations to be sent with a link to a map for a given address.The recipient may still need to print the map and directions or handwrite the directions to make effective use of the map and/or directions,however.

SUMMARY

According to some embodiments of the present invention, a first deviceis operated to obtain a navigation track between a first location and asecond location by establishing a peer-to-peer communication connectionwith a second device and receiving a message that contains informationassociated with the first location and/or the second location from thesecond device. The information is associated with a navigation module onthe first device. The information associated with the at least one ofthe first location and the second location is processed using thenavigation module to obtain the navigation track between the firstlocation and the second location.

In other embodiments of the present invention, the navigation track isdisplayed.

In still other embodiments of the present invention, processing theinformation comprises accessing a navigation information repository onthe first device to determine the navigation track between the firstlocation and the second location.

In still other embodiments of the present invention, processing theinformation comprises accessing a remote navigation informationrepository via a communication connection therewith to determine thenavigation track between the first location and the second location.

In still other embodiments of the present invention, the first locationis a current location of the first device.

In still other embodiments of the present invention, the determinednavigation track is updated responsive to changes in the currentlocation of the first device.

In still other embodiments of the present invention, the first locationis a current location of the second device and the second location is acurrent location of the first device.

In still other embodiments of the present invention, neither of thefirst location and second location is a current location of the firstdevice.

In still other embodiments of the present invention, the informationassociated with the first location and/or the second location comprisesGlobal Positioning System (GPS) information, cellular technologylocation information, an address, and/or a name.

In still other embodiments of the present invention, the GPS informationis encoded in a GPS eXchange (GPX) format.

In still other embodiments of the present invention, the informationassociated with the first location and/or the second location comprisesat least one waypoint between the first location and the secondlocation, and the obtained navigation track between the first locationand the second location includes the at least one waypoint.

In still other embodiments of the present invention, the messagecomprises a Short Message Service (SMS) text message, a hyperlink, anelectronic mail, a directory listing, an advertisement, an InstantMessage (IM), and/or a Voice over Internet Protocol (VoIP) call. Thelocation information may be an attachment to the message and/or embeddedin the message using at least one delimiter.

In still other embodiments of the present invention, the information issaved at the first device and the communication connection with thesecond device is ended before processing the information.

In further embodiments of the present invention, an electronic devicecomprises a navigation module that is configured to process informationassociated with the at least one of a first location and a secondlocation to obtain a navigation track between the first location and thesecond location, and a communication module that is configured toestablish a peer-to-peer communication connection with anotherelectronic device and to receive a message that contains the informationassociated with at least one of the first location and the secondlocation therefrom. The information is associated with the navigationmodule.

In still further embodiments of the present invention, the navigationmodule is further configured to access a navigation informationrepository on the electronic device to determine the navigation trackbetween the first location and the second location.

In still further embodiments of the present invention, the navigationmodule and communication module are further configured to access aremote navigation information repository via a communication connectiontherewith to determine the navigation track between the first locationand the second location.

In still further embodiments of the present invention, the informationassociated with the first location and/or the second location comprisesGlobal Positioning System (GPS) information, cellular technologylocation information, an address, and/or a name.

In still further embodiments of the present invention, the informationassociated with the first location and/or the second location comprisesat least one waypoint between the first location and the secondlocation, and the obtained navigation track between the first locationand the second location includes the at least one waypoint. The locationinformation may be an attachment to the message and/or embedded in themessage using at least one delimiter.

Although described primarily above with respect to method and deviceembodiments of the present invention, it will be understood that thepresent invention can be embodied as methods, devices, and/or computerprogram products.

Other systems, methods, and/or computer program products according toembodiments of the invention will be or become apparent to one withskill in the art upon review of the following drawings and detaileddescription. It is intended that all such additional systems, methods,and/or computer program products be included within this description, bewithin the scope of the present invention, and be protected by theaccompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features of the present invention will be more readily understoodfrom the following detailed description of specific embodiments thereofwhen read in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram that illustrates a communication networkarchitecture to facilitate obtaining a navigation track based onlocation information shared between peer devices in accordance with someembodiments of the present invention;

FIG. 2 is a block diagram that illustrates an electronic device/mobileterminal in accordance with some embodiments of the present invention;

FIG. 3 is a flowchart that illustrates operations for obtaining anavigation track based on location information shared between peerdevices in accordance with some embodiments of the present invention;

FIG. 4 is a message flow diagram that illustrates operations forobtaining a navigation track based on location information sharedbetween peer devices in accordance with some embodiments of the presentinvention; and

FIGS. 5-8 are electronic device displays that illustrate thepresentation of a navigation track to a user of an electronic device inaccordance with some embodiments of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS

While the invention is susceptible to various modifications andalternative forms, specific embodiments thereof are shown by way ofexample in the drawings and will herein be described in detail. Itshould be understood, however, that there is no intent to limit theinvention to the particular forms disclosed, but on the contrary, theinvention is to cover all modifications, equivalents, and alternativesfalling within the spirit and scope of the invention as defined by theclaims. Like reference numbers signify like elements throughout thedescription of the figures.

As used herein, the singular forms “a,” “an,” and “the” are intended toinclude the plural forms as well, unless expressly stated otherwise. Itshould be further understood that the terms “comprises” and/or“comprising” when used in this specification is taken to specify thepresence of stated features, integers, steps, operations, elements,and/or components, but does not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof. It will be understood that when anelement is referred to as being “connected” or “coupled” to anotherelement, it can be directly connected or coupled to the other element orintervening elements may be present. Furthermore, “connected” or“coupled” as used herein may include wirelessly connected or coupled. Asused herein, the term “and/or” includes any and all combinations of oneor more of the associated listed items.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this invention belongs. It will befurther understood that terms, such as those defined in commonly useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art andwill not be interpreted in an idealized or overly formal sense unlessexpressly so defined herein.

The present invention may be embodied as methods, electronic devices,and/or computer program products. Accordingly, the present invention maybe embodied in hardware and/or in software (including firmware, residentsoftware, micro-code, etc.). Furthermore, the present invention may takethe form of a computer program product on a computer-usable orcomputer-readable storage medium having computer-usable orcomputer-readable program code embodied in the medium for use by or inconnection with an instruction execution system. In the context of thisdocument, a computer-usable or computer-readable medium may be anymedium that can contain, store, communicate, propagate, or transport theprogram for use by or in connection with the instruction executionsystem, apparatus, or device.

The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. More specific examples (a nonexhaustive list) of thecomputer-readable medium would include the following: an electricalconnection having one or more wires, a portable computer diskette, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,and a compact disc read-only memory (CD-ROM). Note that thecomputer-usable or computer-readable medium could even be paper oranother suitable medium upon which the program is printed, as theprogram can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory.

As used herein, the term “mobile terminal” may include a satellite orcellular radiotelephone with or without a multi-line display; a PersonalCommunications System (PCS) terminal that may combine a cellularradiotelephone with data processing, facsimile and data communicationscapabilities; a PDA that can include a radiotelephone, pager,Internet/intranet access, Web browser, organizer, calendar and/or aglobal positioning system (GPS) receiver; and a conventional laptopand/or palmtop receiver or other appliance that includes aradiotelephone transceiver. Mobile terminals may also be referred to as“pervasive computing” devices.

As used herein, the term “message” means a unit of information and/or ablock of data that may be transmitted electronically as a whole or viasegments from one device to another. Accordingly, as used herein, theterm “message” may encompass such terms of art as “frame” and/or“packet,” which may also be used to refer to a unit of transmission.

For purposes of illustration, some embodiments of the present inventionare described herein in the context of a device being a mobile terminal.It will be understood, however, that the present invention is notlimited to such embodiments and that a device may be embodied as anyelectronic device that is configured to process location informationreceived, for example, from another device.

Some embodiments of the present invention stem from a realization thatlocation information may be attached to and/or embedded in a messagesimilar to the manner in which documents, files, hyperlinks, metadata,and packet headers are attached to and/or embedded in messages. Thelocation information may be associated with a navigation module on thereceiving device, which is used to process the location information toobtain a navigation path. Processing the location information could beautomatic in that the navigation module automatically extracts andprocesses the location information contained in the message. In otherembodiments, the location information may not be processed until a userof the client device performs an action to begin processing of theinformation.

Embodiments according to the invention can operate in a peer-to-peercommunication environment. Devices that communicate via a peer-to-peerconnection function as both a client and a server with respect to eachother. Thus, peer devices essentially function as equals whencommunicating with each other.

Referring now to FIG. 1, a communication network architecture 100 tofacilitate obtaining a navigation track based on location informationshared between peer devices, according to some embodiments of thepresent invention, includes electronic devices 120 a, 120 b, and 120 c,and a navigation information repository server 150 that are connectedvia a network 140 as shown. The network 140 includes wireless basestation transceivers 130 a and 130 b that may facilitate wirelesscommunication with mobile terminals 120 a and 120 b. The navigationinformation repository server 150 may be accessed by other devices toobtain navigation information therefrom and/or to process navigationinformation to determine a navigation track. A navigation track is theactual path followed by or intended for a moving body. As will bediscussed further herein, the electronic devices 120 a, 120 b, and 120 cmay obtain navigation tracks based on location information shared witheach other a via peer-to-peer communication connections. For example,one of the electronic devices 120 a, 120 b, and 120 c may transmit amessage to another one of the electronic devices 120 a, 120 b, and 120 cthat contains location information attached thereto or embedded therein.The location information is associated with navigation modules on theclient devices 120 a, 120 b, and/or 120 c, which process the locationinformation. The network 140 may represent a global network, such as theInternet, or other publicly accessible network. The network 140 mayalso, however, represent a wide area network, a local area network, anIntranet, or other private network, which may not accessible by thegeneral public. Furthermore, the network 140 may represent a combinationof public and private networks or a virtual private network (VPN).Moreover, devices 120 a and 120 b are described as mobile terminals forpurposes of illustrating some embodiments of the present invention. Itwill be understood, however, that the present invention is not limitedto such embodiments and that a device may be embodied as any electronicdevice that is configured to process location information received, forexample, from another device via a peer-to-peer communicationconnection. Thus, according to various embodiments of the presentinvention, a device may be a mobile terminal such as devices 120 a and120 b, or may be relatively stationary, such as device 120 c.

Although FIG. 1 illustrates an exemplary communication network, it willbe understood that the present invention is not limited to suchconfigurations, but is intended to encompass any configuration capableof carrying out the operations described herein.

Referring now to FIG. 2, an exemplary mobile terminal 200 that may beused to implement a device, such as devices 120 a and 120 b of FIG. 1,in accordance with some embodiments of the present invention, includes aGlobal Positioning System (GPS) module 201, a video recorder 202, acamera 205, a microphone 210, a keyboard/keypad 215, a speaker 220, adisplay 225, a transceiver 230, and a memory 235 that communicate with aprocessor 240. The transceiver 230 comprises a transmitter circuit 245and a receiver circuit 250, which respectively transmit outgoing radiofrequency signals to base station transceivers and receive incomingradio frequency signals from the base station transceivers via anantenna 255. The radio frequency signals transmitted between the mobileterminal 200 and the base station transceivers may comprise both trafficand control signals (e.g., paging signals/messages for incoming calls),which are used to establish and maintain communication with anotherparty or destination. The radio frequency signals may also comprisepacket data information, such as, for example, cellular digital packetdata (CDPD) information. The foregoing components of the mobile terminal200 may be included in many conventional mobile terminals and theirfunctionality is generally known to those skilled in the art.

The processor 240 communicates with the memory 235 via an address/databus. The processor 240 may be, for example, a commercially available orcustom microprocessor. The memory 235 is representative of the one ormore memory devices containing the software and data used to operate themobile terminal and to process location information received from, forexample, a server device. The memory 235 may include, but is not limitedto, the following types of devices: cache, ROM, PROM, EPROM, EEPROM,flash, SRAM, and DRAM.

As shown in FIG. 2, the memory 235 may contain four or more categoriesof software and/or data: the operating system 265, a communicationmodule 270, a navigation module 275, and/or a navigationinformation/data module 280. The operating system 265 generally controlsthe operation of the mobile terminal 200. In particular, the operatingsystem 265 may manage the mobile terminal's software and/or hardwareresources and may coordinate execution of programs by the processor 240.The communication module 270 may be configured to manage thecommunication protocols that are used to allow the mobile terminal 200communicate with other devices and systems. The navigation module 275may be configured to process a message received, for example, fromanother device via a peer-to-peer communication connection and extractlocation information therefrom.

In accordance with various embodiments of the present invention, thelocation information may be attached to the message or may be embeddedin the message using one or more delimiters. The navigation module 275may use the received location information in conjunction with thenavigation information/data module 280 to obtain a navigation trackbetween two locations. The navigation information/data module 280 may,for example, include geographic information/data for a particular area,region, or even the world.

The navigation module 275 may also cooperate with the communicationmodule 270 to access a remote navigation information repository, such asserver 150 of FIG. 1. Similar to the navigation information/data module280, the navigation information repository server 150 may includegeographic information/data, which is communicated back to therequesting device. In some embodiments, the requesting device may sendthe location information extracted from the received message to thenavigation information repository server 150, which processes thereceived location information and communicates a navigation track backto the requesting device.

In accordance with some embodiments of the present invention, thelocation information may identify one or more locations and may beassociated with the navigation module 275 for processing. The locationinformation may be included in a message such as a Short Message Service(SMS) text message, a hyperlink, an electronic mail, a directorylisting, an advertisement, an Instant Message (IM), and/or a Voice overInternet Protocol (VoIP) call. The location information may be GPSinformation, an address, and/or a name in accordance with someembodiments of the present invention. The GPS information may beencoded, for example, in the GPS eXchange Format (GPX), which is anExtensible Markup Language (XML) standard for communicating GPS databetween software applications. In other embodiments, the locationinformation may include cellular/Wi-Fi technology location information.For example, cellular/Wi-Fi technology may be used to track the currentposition of a mobile terminal. The base stations in a wireless networkthat are used to transmit and receive the cellular/Wi-Fi communicationsignals may monitor the relative signal strength as a mobile terminalchanges locations. An approximate location of a mobile terminal may bedetermined based on the signal strength received at multiple basestations.

Although FIG. 2 illustrates an exemplary software and hardwarearchitecture that may be used to process location information receivedin a message at a client device it will be understood that the presentinvention is not limited to such a configuration, but is intended toencompass any configuration capable of carrying out the operationsdescribed herein.

Computer program code for carrying out operations of devices and/orsystems discussed above with respect to FIGS. 1-2 may be written in ahigh-level programming language, such as Java, C, and/or C++, fordevelopment convenience. In addition, computer program code for carryingout operations of embodiments of the present invention may also bewritten in other programming languages, such as, but not limited to,interpreted languages. Some modules or routines may be written inassembly language or even micro-code to enhance performance and/ormemory usage. It will be further appreciated that the functionality ofany or all of the program modules may also be implemented using discretehardware components, one or more application specific integratedcircuits (ASICs), or a programmed digital signal processor ormicrocontroller.

The present invention is described hereinafter with reference to messageflow, flowchart and/or block diagram illustrations of methods, devices,and/or computer program products in accordance with some embodiments ofthe invention. These message flow, flowchart and/or block diagramsfurther illustrate exemplary operations for processing locationinformation received at a client device, from, for example, a serverdevice in accordance with various embodiments of the present invention.It will be understood that each message/block of the message flow,flowchart and/or block diagram illustrations, and combinations ofmessages/blocks in the message flow, flowchart and/or block diagramillustrations, may be implemented by computer program instructionsand/or hardware operations. These computer program instructions may beprovided to a processor of a general purpose computer, a special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions specified in the message flow,flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerusable or computer-readable memory that may direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer usable orcomputer-readable memory produce an article of manufacture includinginstructions that implement the function specified in the message flow,flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in themessage flow, flowchart and/or block diagram block or blocks.

Operations for obtaining a navigation track based on locationinformation shared between peer devices in accordance with someembodiments of the present invention, will now be described withreference to FIG. 3 and the network and device architectures of FIGS. 1and 2, respectively. Operations begin at block 300 where, for example, afirst device 120 a establishes a peer-to-peer communication connectionwith a second device 120 b. The first device 120 a receives a messagefrom the second device 120 b that contains information associated with afirst and/or a second location at block 310. The location information inthe message is associated with a navigation module, such as navigationmodule 275, on the client device. As a result, at block 320, thenavigation module 275 extracts the location information from thereceived message and processes the location information to obtain anavigation track between the first and the second location. Inaccordance with some embodiments of the present invention, one of firstand second locations may be a current location of the device thatreceived the message containing the location information. Moreover, asthe current location of the device that received the message containingthe location information changes, the navigation module 275 may updatethe navigation track based on the new location of the device. In otherembodiments, neither of the first and second locations is a currentlocation of the device that received the message containing the locationinformation.

FIG. 4 is a message flow diagram that that illustrates operations forobtaining a navigation track based on location information sharedbetween peer devices in accordance with some embodiments of the presentinvention. Referring to FIG. 4 and the network and device architecturesof FIGS. 1 and 2, a user of a first device 120 a causes the first device120 a to establish a peer-to-peer communication connection with a seconddevice 120 b, such as, for example, an IM connection. The first device120 a receives an IM message with an attachment that includes locationinformation identifying the address of the user of the second device 120b. The address of the user of the second device 120 b may be eitherattached to the IM or embedded therein and is detected by the navigationmodule 275 on the device 120 a. In some embodiments, the device 120 amay request navigation information from the navigation informationrepository server 150 to facilitate processing the location informationreceived with the IM. Moreover, in accordance with various embodimentsof the present invention, the user of the device 120 a may invoke thenavigation module 275 to process the stadium location information by,for example, clicking on an icon for the navigation module or an iconfor the location information in the IM, or the navigation module 275 mayprocess the location information received in the IM automatically. Insome embodiments, the user of the client device 120 a may elect to savethe location information where it may be processed later even after thecommunication session with the second device 120 b.

In the example shown in FIG. 4, the navigation module 275 may processthe location information received in the IM, i.e., the address of theuser of the second device 120 b and display a navigation track between acurrent location of the device 120 a and the address of the user of thesecond device 120 b. Because the device 120 a is a mobile terminal, thenavigation module 275 may update the navigation track between thecurrent location of the mobile terminal 120 a and the address of theuser of the second device 120 b as mobile terminal 120 a changeslocation.

The flowchart/message flow diagrams of FIGS. 3 and 4 illustrate thearchitecture, functionality, and operations of embodiments of methods,devices, and/or computer program products for obtaining a navigationtrack based on location information shared between peer devices. In thisregard, each block and/or message and associated communicationrepresents a module, segment, or portion of code, which comprises one ormore executable instructions for implementing the specified logicalfunction(s). It should also be noted that in other implementations, theoperation(s) noted in the blocks/messages may occur out of the ordernoted in FIGS. 3 and 4. For example, two blocks/messages shown insuccession may, in fact, be communicated substantially concurrently orthe blocks/messages may sometimes be communicated in the reverse order,depending on the functionality involved.

Some embodiments of the present invention may be illustrated by way ofexample. FIGS. 5-8 illustrate navigation tracks that are generated by anavigation module on a device based on location information receivedfrom another device via a peer-to-peer communication connection inaccordance with various embodiments of the present invention.

Referring to FIG. 5, this navigation track example is similar to the onedescribed above with respect to FIG. 4. A user of a device at 101 ElmSt. obtains an address of a friend from a location attachment includedin an IM. The navigation module on the user's device that received theIM with the address processes the location information as describedabove to determine a navigation path from the user's current location(point A) to the friend's (500 Maple St.; point B). Referring now toFIG. 6, the location information for the friend's address or thenavigation information/data available locally and/or remotely via anavigation information repository server may include one or morewaypoints. Waypoints are sets of coordinates that identify a point inphysical space. These coordinates may include longitude and latitude.Waypoints are often associated with distinctive features, such as rockformations, springs, oases, mountains, buildings, roadways, waterways,railways, and the like. As shown in FIG. 6, the navigation trackincludes a waypoint in the form of a restaurant. This may assist theuser in finding his/her friend's address on Maple St. at point B as therestaurant is an indication that the user is approaching an intersectionwhere a turn on to a new road is required.

FIG. 7 illustrates a variation on the examples of FIGS. 5 and 6. In thisexample, the user of the first device proceeds to 501 Elm St. to pick upa friend to go to the friend's house at 500 Maple St. (point B). Bychanging locations, however, the original navigation path to 500 MapleSt. is no longer the most desirable one. Accordingly, the navigationmodule on the user's device detects the change in location anddetermines a new navigation path from 501 Elm St. (point A′) to thefriend's house at 500 Maple St. A new waypoint corresponding to a schoolis also provided to alert the user that a turn is upcoming.

FIG. 8 illustrates an example in which the navigation path is betweentwo locations not associated with the current location of the firstdevice, i.e., the device that received a message containing locationinformation. For example, a user may receive an email from a friendrequesting that the user pick him/her up at the airport, which isidentified by name in the email. The navigation module on the user'sdevice extracts the airport name from the email and allows the user tosave the location information in a local file. On the day of the trip,the user knows that he/she will be leaving from the office to pick uphis/her friend. The user clicks on the location information file andprovides the navigation module on the device with the address of his/heroffice, which triggers the navigation module on the device to processlocation information regarding the user's office and the airport and togenerate a navigation track between the user's office (point A) and theairport (point B). A waypoint corresponding to a school is provided toalert the user that the airport is coming up soon.

Many variations and modifications can be made to the embodiments withoutsubstantially departing from the principles of the present invention.All such variations and modifications are intended to be included hereinwithin the scope of the present invention, as set forth in the followingclaims.

That which is claimed:
 1. A method of operating a first device,comprising establishing a peer-to-peer communication connection with asecond device; receiving a message that contains informationcorresponding to one of a first location on the earth and a secondlocation on the earth from the second device, the information beingassociated with a navigation module on the first device; processing theinformation corresponding to the one of the first location and thesecond location using the navigation module to obtain a terrestrialnavigation track between the first location and the second location, theterrestrial navigation track comprising an identifiable thoroughfare onthe earth having a terrestrial waypoint between the first and the secondlocation; displaying the terrestrial navigation track; and updating adisplay of the terrestrial navigation track responsive to changes in acurrent location of the first device without requesting input from anexternal device.
 2. The method of Claim 1, wherein processing theinformation comprises: accessing a navigation information repository onthe first device to determine the terrestrial navigation track betweenthe first location and the second location.
 3. The method of Claim 1,wherein processing the information comprises: accessing a remotenavigation information repository via a communication connectiontherewith to determine the terrestrial navigation track between thefirst location and the second location.
 4. The method of Claim 1,wherein the first location is the current location of the first device.5. The method of claim 1, wherein the first location is a currentlocation of the second device and the second location is the currentlocation of the first device.
 6. The method of Claim 1, wherein thefirst location and a current location of the second device are differentand the second location and the current location of the second deviceare different.
 7. The method of Claim 1, wherein the first location andthe current location of the first device are different and the secondlocation and the current location of the first device are different. 8.The method of claim 1, wherein the information associated with one ofthe first location and the second location comprises one of globalpositioning system information, cellular technology locationinformation, an address, and a name.
 9. The method of claim 8, whereinthe global positioning system information is encoded in a globalpositioning system eXchange format.
 10. The method of claim 1, whereinthe message comprises one of a short message service text message, ahyperlink, an electronic mail, a directory listing, an advertisement, aninstant message, and a voice over Internet protocol call; and whereinthe information is one of an attachment to the message and embedded inthe message using a delimiter that distinguishes the information fromother content of the message.
 11. The method, of claim 1, furthercomprising, before processing the information: saving the information atthe first device; and ending the communication connection with thesecond device.
 12. A first device, comprising: a processor; and a memorycoupled to the processor and comprising computer readable program codeembodied in the memory that when executed by the processor causes theprocessor to perform operations comprising: establishing a peer-to-peercommunication connection with a second device; receiving a message thatcontains information corresponding to one of a first location on theearth and a second location on the earth from the second device, theinformation being associated with a navigation module on the firstdevice; processing the information corresponding to the one of the firstlocation and the second location using the navigation module to obtain aterrestrial navigation track between the first location and the secondlocation, the terrestrial navigation track comprising an identifiablethoroughfare on the earth having a terrestrial waypoint between thefirst and the second location; displaying the terrestrial navigationtrack; and updating a display of the terrestrial navigation trackresponsive to changes in a current location of the first device withoutrequesting input from an external device.
 13. The first device of claim12, wherein processing the information comprises: accessing a navigationinformation repository on the first device to determine the terrestrialnavigation track between the first location and the second location. 14.The first device of claim 12, wherein processing the informationcomprises: accessing a remote navigation information repository via acommunication connection therewith to determine the terrestrialnavigation track between the first location and the second location. 15.The first device of claim 12, wherein the first location is the currentlocation of the first device.
 16. The first device of claim 12, whereinone of the first location and the second location is a current locationof the second device.
 17. The first device of claim 12, wherein thefirst location and a current location of the second device are differentand the second location and the current location of the second deviceare different.
 18. The first device of claim 12, wherein the secondlocation is the current location of the first device.
 19. The firstdevice of claim 12, wherein the first location and the current locationof the first device are different and the second location and thecurrent location of the first device are different.
 20. A computerprogram product for operating a first device, comprising: anon-transitory computer readable storage medium comprising computerreadable program code embodied in the medium that when executed by aprocessor causes the processor to perform operations comprising:establishing a peer-to-peer communication connection with a seconddevice; receiving a message that contains information corresponding toone of a first location on the earth and a second location on the earthfrom the second device, the information being associated with anavigation module on the first device; processing the informationcorresponding to the one of the first location and the second locationusing the navigation module to obtain a terrestrial navigation trackbetween the first location and the second location, the terrestrialnavigation track comprising an identifiable thoroughfare on the earthhaving a terrestrial waypoint between the first and the second location;displaying the terrestrial navigation track; and updating a display ofthe terrestrial navigation track responsive to changes in a currentlocation of the first device without requesting input from an externaldevice.
 21. The method of claim 1, wherein the message comprises one ofa hyperlink, a directory listing, and an advertisement.
 22. The firstdevice of claim 12, wherein the message comprises one of a hyperlink, adirectory listing, and an advertisement.
 23. The computer programproduct of claim 20, wherein the message comprises one of a hyperlink, adirectory listing, and an advertisement.